<?php
/**
 */
interface Yz_Pagination_Interface
{

    /**
     *  get the current page number
     *  @return int
     */
    public function getPageNumber();

    /**
     *  set the current page number
     *  @param int $pageNumber > 0
     *  @return chainable
     */
    public function setPageNumber($pageNumber);

    /** Get the total number of pages in the list (table)
     *  @return int
     */
    public function getPageCount();

    /** Get the total number of items in the list (table)
     *  @return int
     */
    public function getItemCount();

    /** set the total number of items in the list (table)
     *  @param int $itemCount >= 0
     *  @return chainable
     */
    public function setItemCount($itemCount);

    /** Get the number of the first item on current page (suitable for SQL OFFSET clause)
     *  @return int
     */
    public function getPageOffset();


}
